function motion () {
    const Xml = 
//     '<category name="Arduino" id="Arduino" colour="#00979D" secondaryColour="#00979D">' +
//     '<block type="control_setup_loop" disabled="false">' +
//     '</block>' +
//   '<block type="inout_pinMode1" id="inout_pinMode1">'+
// '</block>'+
//   '<block type="digitalWrite" id="digitalWrite">'+
//   '</block>'+
//   '<block type="analogWrite" id="analogWrite">'+
//   '<value name="analogWrites">' +
//     '<shadow type="math_number">' +
//       '<field name="NUM">100</field>' +
//     '</shadow>' +
//   '</value>' +
//   '</block>'+
//   '<block type="digitalRead" id="digitalRead">'+
//   '</block>'+
//   '<block type="analogRead" id="analogRead">'+
//   '</block>'+
//    '<block type="timer" id="timer">'+
//    '<value name="timers">' +
//     '<shadow type="math_number">' +
//       '<field name="NUM">500</field>' +
//     '</shadow>' +
//   '</value>' +
//   '</block>'+
//   '<block type="timeron" id="timeron">'+
//   '</block>'+
//   '<block type="timeroff" id="timeroff">'+
//   '</block>'+
//     '<block type="runtime" id="runtime">'+
//   '</block>'+
//       '<block type="pininterrupt" id="pininterrupt">'+
//   '</block>'+
//       '<block type="pulse" id="pulse">'+
//   '</block>'+
//         '<block type="pulse2" id="pulse2">'+
// 		'<value name="pulse2s">' +
//     '<shadow type="math_number">' +
//       '<field name="NUM">1000000</field>' +
//     '</shadow>' +
//   '</value>' +
//   '</block>'+
//   '</category>' +
// //串口
// '<category name="%{BKY_PH_SERIALS}" id="serial" colour="#FF4482" secondaryColour="#FF4482">' +
// '<block type="ph_softserial" id="ph_softserial">'+
// '</block>'+
// '<block type="ph_serialbegin" id="ph_serialbegin">'+
// '<field name="serialbegins">9600</field>' +
// '</block>'+

// '<block type="ph_serialprintstring" id="ph_serialprintstring">'+
// '<value name="serialprints1">' +
//   '<shadow type="text">' +
//     '<field name="TEXT">hello</field>' +
//   '</shadow>' +
// '</value>' +
// '</block>'+
// '<block type="ph_serialprint" id="ph_serialprint">'+
// '<value name="serialprints">' +
//   '<shadow type="text">' +
//     '<field name="TEXT">hello</field>' +
//   '</shadow>' +
// '</value>' +
// '</block>'+
// '<block type="ph_serialprintnum1" id="ph_serialprintnum1">'+
// '<value name="serialprintsss">' +
//   '<shadow type="math_number">' +
//     '<field name="NUM">0</field>' +
//   '</shadow>' +
// '</value>' +
// '</block>'+
// '<block type="ph_serialprintnum" id="ph_serialprintnum">'+
// '<value name="serialprintss">' +
//   '<shadow type="math_number">' +
//     '<field name="NUM">0</field>' +
//   '</shadow>' +
// '</value>' +
// '</block>'+
// '<block type="ph_serialprint16num" id="ph_serialprint16num">'+
// '<value name="serialprint16nums">' +
//   '<shadow type="math_number">' +
//     '<field name="NUM">0</field>' +
//   '</shadow>' +
// '</value>' +
// '</block>'+
// '<block type="ph_serialava" id="ph_serialava">'+
// '</block>'+
// '<block type="ph_serialread" id="ph_serialread">'+
// '</block>'+

//  '<block type="ph_serial_event" id="ph_serial_event">'+
// '</block>'+
//  '<block type="ph_serial_flush" id="ph_serial_flush">'+
// '</block>'+
//  '<block type="ph_serial_read" id="ph_serial_read">'+
//  '<value name="serialprints2">' +
//   '<shadow type="text">' +
//     '<field name="TEXT">a</field>' +
//   '</shadow>' +
// '</value>' +
// '</block>'+
// '<block type="ph_serialreadint" id="ph_serialreadint">'+
// '</block>'+
// '</category>' +


//基础模块
'<category name="%{BKY_BASE_MODEL}" id="baseModel" colour="#179b73" secondaryColour="#179b73">' +
    '<block type="ph_button" id="ph_button">'+
    '</block>'+
    '<block type="ph_touch" id="ph_touch">'+
    '</block>'+
    '<block type="ph_knockswitch" id="ph_knockswitch">'+
    '</block>'+
    '<block type="ph_resistance" id="ph_resistanceo">'+
    '</block>'+
    '<block type="ph_ec11Init" id="ph_ec11Init">'+
    '</block>'+
    '<block type="ph_ec11" id="ph_ec11">'+
    '</block>'+
    '<block type="ph_ec11ButtonPushDown" id="ph_ec11ButtonPushDown">'+
    '</block>'+
    '<block type="ph_piano" id="ph_piano">'+
    '</block>'+
    '<block type="ph_slipresistance" id="ph_slipresistance">'+
    '</block>'+
    '<block type="ph_rock" id="ph_rock">'+
    '</block>'+
    '<block type="ph_matrixKeyboardInit" id="ph_matrixKeyboardInit">'+
  '</block>'+
  '<block type="ph_matrixKeyboardFunc" id="ph_matrixKeyboardFunc">'+
  '</block>'+
  '<block type="ph_getMatrixKeyboardValue" id="ph_getMatrixKeyboardValue">'+
  '</block>'+
'</category>'  +
//传感器
'<category name="%{BKY_PH_SENSOR}" id="sensor" colour="#28BFE6" secondaryColour="#28BFE6">' +
'<block type="ph_vioce" id="ph_vioce">'+
  '</block>'+
'<block type="ph_light" id="ph_light">'+
  '</block>'+
'<block type="ph_thermosensitive" id="ph_thermosensitive">'+
    '</block>'+
'<block type="ph_fire" id="ph_fire">'+
    '</block>'+

    '<block type="ph_abstacle" id="ph_abstacle">'+
    '</block>'+
    
'<block type="ph_soil" id="ph_soil">'+
    '</block>'+
'<block type="ph_rain" id="ph_rain">'+
    '</block>'+
'<block type="ph_waterdeep" id="ph_waterdeep">'+
    '</block>'+

'<block type="ph_dht11" id="ph_dht11">'+
    '</block>'+
'<block type="ph_ds" id="ph_ds">'+
    '</block>'+
    '<block type="ph_lm35" id="ph_lm35">'+
    '</block>'+
'<block type="ph_readds" id="ph_readds">'+
    '</block>'+
'<block type="ph_air" id="ph_air">'+
    '</block>'+
'<block type="ph_body" id="ph_body">'+
    '</block>'+
'<block type="ph_track" id="ph_track">'+
    '</block>'+
'<block type="ph_mpu" id="ph_mpu">'+
    '</block>'+
'<block type="ph_handleGestureInit" id="ph_handleGestureInit">'+
'</block>'+
'<block type="ph_gesture" id="ph_gesture">'+
'</block>'+
'<block type="ph_gestureStatus" id="ph_gestureStatus">'+
'</block>'+
'<block type="ph_handle_gesture" id="ph_handle_gesture">'+
'</block>'+
'<block type="ph_reed_switch" id="ph_reed_switch">'+
'</block>'+
'<block type="ph_grayscale" id="ph_grayscale">'+
'</block>'+
'<block type="ph_shock" id="ph_shock">'+
'</block>'+
'<block type="ph_tilt" id="ph_tilt">'+
'</block>'+
'<block type="ph_ultrasonic" id="ph_ultrasonic">'+
'</block>'+
'<block type="ph_rgbUltrasonicInit" id="ph_rgbUltrasonicInit">'+
'</block>'+
'<block type="ph_rgbultrasonicsetcolorstyle" id="ph_rgbultrasonicsetcolorstyle">'+
`<value name="COLOR">
<shadow type="colour_picker"/>
</value>` + 
'</block>'+
       '<block type="ph_rgbultrasonicreaddistance" id="ph_rgbultrasonicreaddistance">'+
'</block>'+
'<block type="ph_initds1302" id="ph_initds1302">'+
  '</block>'+
  '<block type="ph_setds1302date" id="ph_setds1302date">'+
  '<value name="year">' +
    '<shadow type="math_number">' +
      '<field name="NUM">2019</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="month">' +
    '<shadow type="math_number">' +
      '<field name="NUM">8</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="day">' +
    '<shadow type="math_number">' +
      '<field name="NUM">1</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="ph_setds1302time" id="ph_setds1302time">'+
  '<value name="hour">' +
    '<shadow type="math_number">' +
      '<field name="NUM">8</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="minute">' +
    '<shadow type="math_number">' +
      '<field name="NUM">0</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="second">' +
    '<shadow type="math_number">' +
      '<field name="NUM">0</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  
  '<block type="ph_getds1302date" id="ph_getds1302date">'+
  '</block>'+
'</category>' +
//执行器
'<category name="%{BKY_PH_ACTION}" id="actuator" colour="#FF0000" secondaryColour="#FF0000">'
+ '<block type="ph_motor" id="ph_motor">'+
        '<value name="motorSpeed">' +
            '<shadow type="math_number">' +
                '<field name="NUM">255</field>' +
                      '</shadow>' +
                '</value>' +
  '</block>'+
  '<block type="ph_dcMotorDriver" id="ph_dcMotorDriver">'+
  '<value name="phDcMotors1">' +
    '<shadow type="math_number">' +
      '<field name="NUM1">100</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="phDcMotors2">' +
    '<shadow type="math_number">' +
      '<field name="NUM2">100</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  
  
  '<block type="ph_servo" id="ph_servo">'+
  '<value name="phservoangle">' +
    '<shadow type="math_number">' +
      '<field name="NUM">0</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="ph_relay" id="ph_relay">'+
  '</block>'+
  '<block type="ph_laser" id="ph_laser">'+
  '</block>'+
  '<block type="ph_buzzer" id="ph_buzzer">'+
      '<value name="buzzers">' +
        '<shadow type="math_number">' +
          '<field name="NUM">300</field>' +
        '</shadow>' +
      '</value>' +
      '<value name="time">' +
        '<shadow type="math_number">' +
          '<field name="NUM1">1000</field>' +
        '</shadow>' +
      '</value>' +
    '</block>'+
    '<block type="ph_buzzerplay2" id="ph_buzzerplay2">'+
    '</block>'+
          '<block type="ph_buzzer1" id="ph_buzzer1  ">'+
          '<value name="play_time">' +
            '<shadow type="math_number">' +
              '<field name="NUM1">1000</field>' +
            '</shadow>' +
          '</value>' +
          '</block>'+
          '<block type="ph_irsend" id="ph_irsend">'+
          '<value name="irdata2">' +
            '<shadow type="text">' +
              '<field name="TEXT">0x89ABCDEF</field>' +
              '</shadow>' +
          '</value>' +
          '<value name="irbyte2">' +
            '<shadow type="text">' +
              '<field name="TEXT">32</field>' +
                '</shadow>' +
                  '</value>' +
              '</block>'+
      '<block type="ph_irreceive" id="ph_irreceive">'+
            '</block>'+
      '<block type="ph_irreceivedata" id="ph_irreceivedata">'+
            '</block>'+
            '<block type="ph_irKeyPress" id="ph_irKeyPress">'+
  '</block>'+
  '<block type="ph_emakefunIrKeyPress" id="ph_emakefunIrKeyPress">'+
  '</block>'+
  
  
  '</category>' +
//显示器
'<category name="%{BKY_PH_SHOW}" id="display" colour="#f59057" secondaryColour="#f59057">' +
'<block type="ph_led" id="ph_led">'+
  '</block>'+
'<block type="ph20lcdinit" id="ph20lcdinit">'+
  '<value name="lcdinits">' +
    '<shadow type="text">' +
      '<field name="TEXT">0x27</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="ph20lcdposition" id="ph20lcdposition">'+
  '<value name="col">' +
    '<shadow type="math_number">' +
      '<field name="NUM">1</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="row">' +
    '<shadow type="math_number">' +
      '<field name="NUM">1</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="ph20lcdprint" id="ph20lcdprint">'+
  '<value name="lcdprints">' +
    '<shadow type="text">' +
      '<field name="TEXT">hello</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="ph20lcdclear" id="ph20lcdclear">'+
  '</block>'+
'<block type="ph_tm1650" id="ph_tm1650">'+
      '</block>'+
'<block type="ph_tm1650display" id="ph_tm1650display">'+
          '<value name="tm1650displays">' +
            '<shadow type="text">' +
              '<field name="TEXT">1234</field>' +
              '</shadow>' +
          '</value>' +
      '</block>'+
'<block type="ph_tm1650displaypoint" id="ph_tm1650displaypoint">'+
      '</block>'+
'<block type="ph_tm1637" id="ph_tm1637">'+
        '</block>'+
'<block type="ph_tm1637setlight" id="ph_tm1637setlight">'+
'<value name="tm1637setlights">' +
    '<shadow type="math_number">' +
        '<field name="NUM">20</field>' +
              '</shadow>' +
        '</value>' +
        '</block>'+
'<block type="ph_tm1637display" id="ph_tm1637display">'+
                  '<value name="tm1637displays">' +
                    '<shadow type="text">' +
                      '<field name="TEXT">1234</field>' +
                      '</shadow>' +
                  '</value>' +
        '</block>'+
        '<block type="ph_tm1650displayNumber" id="ph_tm1650displayNumber">'+
          '<value name="tm1650displaysNumber">' +
            '<shadow type="math_number">' +
              '<field name="NUM">1234</field>' +
              '</shadow>' +
          '</value>' +
      '</block>'+
        '<block type="ph_tm1637displayPoint" id="ph_tm1637displayPoint">'+
                 
        '</block>'+
'<block type="ph_tm1637displaytime" id="ph_tm1637displaytime">'+
            '<value name="tm1637displaytime1">' +
              '<shadow type="math_number">' +
                '<field name="NUM">11</field>' +
                '</shadow>' +
            '</value>' +
            '<value name="tm1637displaytime2">' +
              '<shadow type="math_number">' +
                '<field name="NUM">30</field>' +
                  '</shadow>' +
                    '</value>' +
    '</block>'+
'<block type="ph_tm1637clear" id="ph_tm1637clear">'+
          '</block>'+
      '<block type="ph_max" id="ph_max">'+
      '<value name="maxs">' +
        '<shadow type="math_number">' +
          '<field name="NUM">1</field>' +
          '</shadow>' +
      '</value>' +
              '</block>'+
      '<block type="ph_maxpoint" id="ph_maxpoint">'+
              
      '</block>'+
      '<block type="ph_x8leddisplay" id="ph_x8leddisplay">'+
      '</block>'+
      '<block type="ph_trafficlights" id="ph_trafficlights">'+
      '<value name="lightTime">' +
        '<shadow type="math_number">' +
          '<field name="NUM">1</field>' +
          '</shadow>' +
      '</value>' +
      '</block>'+
      '<block type="ph_rgbcolor" id="ph_rgbcolor">'+
              `  <value name="COLOR">
              <shadow type="colour_picker"/>
          </value>` +     
                        // '<value name="rgbr">' +
                        //   '<shadow type="math_number">' +
                        //     '<field name="NUM1">0</field>' +
                        //     '</shadow>' +
                        // '</value>' +
                        // '<value name="rgbg">' +
                        //   '<shadow type="math_number">' +
                        //     '<field name="NUM2">0</field>' +
                        //     '</shadow>' +
                        // '</value>' +
                        // '<value name="rgbb">' +
                        //   '<shadow type="math_number">' +
                        //     '<field name="NUM3">0</field>' +
                        //     '</shadow>' +
                        // '</value>' +
      '</block>' + 
      '<block type="ph_ringRgbColorInit" id="ph_ringRgbColorInit">'+
      '</block>'+
      '<block type="ph_setRingRgbLight" id="ph_setRingRgbLight">'+
        '<value name="rgbLight">' +
        '<shadow type="math_number">' +
          '<field name="NUM0">10</field>' +
          '</shadow>' +
      '</value>' +
      '</block>'+
      '<block type="ph_ringRgbColor" id="ph_ringRgbColor">'+
      '<value name="total">' +
      '<shadow type="math_number">' +
        '<field name="NUM0">12</field>' +
        '</shadow>' +
    '</value>' +
    '<value name="start">' +
      '<shadow type="math_number">' +
        '<field name="NUM4">1</field>' +
        '</shadow>' +
    '</value>' +
    '<value name="end">' +
      '<shadow type="math_number">' +
        '<field name="NUM5">12</field>' +
        '</shadow>' +
    '</value>' +
    '<value name="lightTime">' +
    '<shadow type="math_number">' +
        '<field name="NUM6">500</field>' +
        '</shadow>' +
        '</value>' +
        '<value name="COLOR">'+
        '<shadow type="colour_picker"/>'+
        '</value>' +
      '</block>' +
'</category>';

    const categoriesXML = `
            ${Xml}
        `;
    return categoriesXML;
};

module.exports = motion() ;
